// 不符合单一职责原则 一个类做2件不同的事情
// class User {
//   constructor(public name: string, public email: string) {
//   }
//   save() { // 保存用户信息
//   }
//   sendEmail() { // 发送邮箱
//   }
// }


// 符合单一职责 每个类只做一件事情
class User {
  // 负责保存用户信息
  constructor(public name: string, public email: string){}
}
class UserRepository {
  save(user: User) { // 可以把用户保存到数据库中
  }
}
class EmailService {
  sendEmail(user: User){ // 可以向此用户发送邮件
  }
}

export {} // 将当前文件变成一个模块